package com.naiterui.ehp.bs.cms.modules.user.vo;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.naiterui.ehp.bs.cms.common.json.Dict;
import com.naiterui.ehp.bs.cms.common.json.Url;
import com.naiterui.ehp.bs.cms.modules.user.entity.AuditLogs;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class DoctorBaseInfoVO implements java.io.Serializable {
    private static final long serialVersionUID = 3636416302750642738L;
    /**
     * 主键：
     */
    private Long id;

    /**
     * 姓名：
     */
    private String name;
    /**
     * 性别：
     */
    private Integer gender;
    /**
     * 联系电话：
     */
    private String phone;


    @ApiModelProperty(value = "认证状态0.未认证 1.认证中 2.已认证 3.不通过")
    @Dict(type = "doctor_status")
    private Integer status;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date statusDate;
    /**
     * 职称
     */
    @Dict(type = "doctor_title")
    private Integer titleId;
    /**
     * 科室id
     */
    private Integer departmentId;

    private String departmentName;

    /**
     * 医院id
     */
    private Integer hospitalId;
    /**
     * 医院名
     */
    private String hospitalName;
    /**
     * 自定义医院名称
     */
    private String hospitalCustomName;
    private String hospitalLevel;

    private String hospitalCityName;

    /**
     * 医生简介
     */
    private String introduction;
    /**
     * 专业与专长
     */
    private String expertise;
    /**
     * 门诊地址
     */
    private String outpatienOn;
    /**
     * 账户状态0:正常，1:禁用
     */
    @Dict(type = "doctor_account_status")
    private Integer accountStatus;
    /**
     * 头像地址
     */
    @Url(config = "ehp.domain.img")
    private String headUrl;
    /**
     * 城市id
     */
    private Integer cityId;
    private String cityName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date changedAt;
    /**
     * 测试帐号状态：0正式，1测试
     */
    @Dict(type = "doctor_type")
    private Integer type;
    /**
     * 用户标签类型:0：默认无标签；1.种子医生标签
     */
    private Integer labelType;

    @ApiModelProperty(value = "备案状态 0.未备案 1.备案中 2.已备案 3.不通过")
    @Dict(type = "doctor_record_status")
    private Integer recordStatus;

    /**
     * 医生提交审核时间
     */
    @ApiModelProperty(value = "医生提交审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date submitAuditTime;

    @ApiModelProperty(value = "认证审核记录")
    private List<AuditLogs> auditLogs;

    /**
     * 工作证
     */
    @ApiModelProperty(value = "工作证")
    private LicenceVO emCard;
    /**
     * 医师职业证书
     */
    @ApiModelProperty(value = "医师职业证书")
    private LicenceVO medical;


    @Url(config = "ehp.domain.img")
    @ApiModelProperty(value = "签名图片URL(原始图)")
    private String sealImageOrigin;

    @Url(config = "ehp.domain.img")
    @ApiModelProperty(value = "签名图片URL(处理后)")
    private String sealImage;

    @ApiModelProperty("签章证书序号")
    private String sealCertNumber;

    @ApiModelProperty("电子邮箱")
    private String email;

}
